package com.hylanda.va.service;

//import java.text.ParseException;
//import java.text.SimpleDateFormat;
//import java.util.ArrayList;
//import java.util.Date;
//import java.util.List;
//
//import javax.persistence.criteria.CriteriaBuilder;
//import javax.persistence.criteria.CriteriaQuery;
//import javax.persistence.criteria.Predicate;
//import javax.persistence.criteria.Root;
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.data.domain.Page;
//import org.springframework.data.domain.PageRequest;
//import org.springframework.data.domain.Pageable;
//import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
//
//import com.hylanda.va.dao.ClockingInRepository;
//import com.hylanda.va.entity.ClockingIn;
//import com.hylanda.va.model.ClockingInQo;


@Service
public class ClockingInService {
//    @Autowired
//    private ClockingInRepository clockingInRepository;

//    public ClockingIn findById(Integer id) {
//    	ClockingIn clockingIn = clockingInRepository.findOne(id);
//        return clockingIn;
//    }
//
//    public ClockingIn create(ClockingIn clockingIn) {
//        ClockingIn newClockingIn = clockingInRepository.save(clockingIn);
//        return newClockingIn;
//    }
//
//    public ClockingIn update(ClockingIn clockingIn) {
//        return clockingInRepository.save(clockingIn);
//    }
//
//    public void delete(Integer id) {
//    	clockingInRepository.delete(id);
//    }

//    public Page<ClockingIn> findPage(final ClockingInQo clockingInQo){
//    	 Pageable pageable = new PageRequest(clockingInQo.getPage(), clockingInQo.getSize());  
//	        Page<ClockingIn> page = clockingInRepository.findAll(new Specification<ClockingIn>(){  
//	            @Override  
//	            public Predicate toPredicate(Root<ClockingIn> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) {  
//	                List<Predicate> list = new ArrayList<Predicate>();  
//	                if(null!=clockingInQo.getBeginTime()&&!"".equals(clockingInQo.getBeginTime())
//	                		&&null!=clockingInQo.getEndTime()&&!"".equals(clockingInQo.getEndTime())){
//	                	SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
//	                	try {
//							list.add(criteriaBuilder.between(root.<Date>get("create_time"), sdf2.parse(clockingInQo.getBeginTime()), sdf2.parse(clockingInQo.getEndTime())));
//						} catch (ParseException e) {
//							e.printStackTrace();
//						}
//	                }
////	                if(null!=clockingInQo.getStudioPersons()){
////	                	Path<String> studio_persons = root.get("studio_persons");
////	                	criteriaBuilder.like(studio_persons, "%" + clockingInQo.getStudioPersons() + "%");
////	                }
//	                Predicate[] p = new Predicate[list.size()];
//	                return criteriaBuilder.and(list.toArray(p));  
//	            }  
//	        },pageable);  
//	        return page;  
//    }
}
